package part16;

import java.util.ArrayList;
import java.util.Arrays;

/**
 * @author wcj
 * @Date 2021/5/31 16:23
 * @Version 1.0
 */
public class Part161 {

    /**
     * 在泛型出现之前，数组的用途要大于容器，因为数组可以指明存放的具体类型
     * 但是泛型出现之后，容器也可以做到了
     * 所以数组现在相比于容器的唯一优点就是效率
     *
     * @param args
     */
    public static void main(String[] args) {
        ArrTest[] arrTests = new ArrTest[10];
        for (int i = 0; i < 10; i++) {
            arrTests[i] = new ArrTest();
        }
        System.out.println(Arrays.toString(arrTests));
        System.out.println(arrTests[4]);

        ArrayList<ArrTest> arrTests1 = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            arrTests1.add(new ArrTest());
        }
        System.out.println(arrTests1);
        System.out.println(arrTests1.get(4));

        int[] ints = new int[10];
        for (int i = 0; i < 10; i++) {
            ints[i] = i;
        }
        System.out.println(ints);
        System.out.println(ints[4]);

        ArrayList<Integer> integers = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            integers.add(i);
        }
        System.out.println(integers);
        System.out.println(integers.get(4));
    }

}

class ArrTest {

    private static long counter;
    private final long id = counter++;

    @Override
    public String toString() {
        return id + "";
    }
}
